package com.teira.rhrrealstate.entity;

import java.io.Serializable;
import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.jboss.seam.annotations.Name;

@Entity
@Name("cliente")
public class Cliente implements Serializable
{
	@Id 
	@SequenceGenerator(name="my_seq", sequenceName="CLIENTE_SEQ")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="my_seq")
	private Long id;
	@NotNull @Length(max=50)
	private String nombre;
	@NotNull @Length(max=50)
	private String apellido;
	@OneToOne
	private TipoDocumento tipoDocumento;
	@Length(max=12)
	private String numeroDocumento;
	@Length(max=50) 
	private String email;
	@Length(max=12)
	private String celular;
	@Length(max=12)
	private String telefonoFijo;
	@Length(max=12)
	private String direccion;
	@OneToMany
	private Set<Inmueble> inmuebles;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public TipoDocumento getTipoDocumento() {
		return tipoDocumento;
	}
	public void setTipoDocumento(TipoDocumento tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}
	public String getNumeroDocumento() {
		return numeroDocumento;
	}
	public void setNumeroDocumento(String numeroDocumento) {
		this.numeroDocumento = numeroDocumento;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getCelular() {
		return celular;
	}
	public void setCelular(String celular) {
		this.celular = celular;
	}
	public String getTelefonoFijo() {
		return telefonoFijo;
	}
	public void setTelefonoFijo(String telefonoFijo) {
		this.telefonoFijo = telefonoFijo;
	}
	public String getDireccion() {
		return direccion;
	}
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	public Set<Inmueble> getInmuebles() {
		return inmuebles;
	}
	public void setInmuebles(Set<Inmueble> inmuebles) {
		this.inmuebles = inmuebles;
	}


}
